Aspects of the present invention generally relate to the field of graphical user interface (GUI) design, particularly in the scope of process control software. Process control systems are largely controlled by computers running complex software and it is important that the software is reliable and usable by operators.
Process control system GUI's often represent things that may be happening in a plant or factory by graphically displayed pictures that represent individual machines or groups in a process. The pictures or elements representing the machines have become more and more interactive in an effort to provide an intuitive experience to users. However, this increases the complexity of the pictures and the GUI which contains those pictures as a whole. For instance, some pictures may include changing colors or animations to indicate certain operations are occurring in a graphical way. A given GUI element may receive data from many different sources for display and it may also run scripts or do data processing as it receives the data to present it on the GUI in a desirable way.
With the growing complexity of process control system GUI's, performance of the GUI's has become an important consideration. When time sensitive information is being sent to a GUI for display to an operator, it is vital that the GUI meant to display that information does it in a timely manner. The more complex the GUI elements of a GUI are, the longer that GUI will take to load to the screen, creating lag in the system based purely on the GUI design. To the engineers who design a GUI, it is not always clear how a GUI will perform at runtime while they are building it. Additionally, a GUI may be run on different systems with different hardware, which may significantly affect the performance of the GUI. If the system has a very powerful processor and other hardware, a GUI may load in an acceptable amount of time, but if that GUI were to be run on a less powerful device (for instance, a tablet or mobile phone), the GUI may run slowly and be difficult to use.
A system that measured or estimated the likely performance of a GUI on different hardware platforms while the GUI was being built would enable a GUI designer to receive concrete performance information and take that into account while designing in an effort to ensure good performance of the GUI when the design is complete.